package com.raymond.entity.settlement;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.raymond.config.CustomerIntegerEnumDeserializer;
import com.raymond.config.CustomerIntegerEnumSerializer;
import com.raymond.entity.commons.BaseEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * desc-结算单类型枚举
 *
 * @author houmenghe
 * @date 2025/04/21 17:05
 **/
@Getter
@AllArgsConstructor
@JsonDeserialize(using = CustomerIntegerEnumDeserializer.class)
@JsonSerialize(using = CustomerIntegerEnumSerializer.class)
public enum OrderSettlementTypeEnum implements BaseEnum {

    /**
     * 采购结算
     */
    PURCHASE(1, "采购结算"),

    /**
     * 商城结算
     */
    MALL(2, "商城结算"),

    /**
     * 混凝土结算
     */
    CONCRETE(3, "混凝土结算"),

    /**
     * 传统租赁
     */
    TRADITION_LEASE(4, "传统租赁"),

    /**
     * 专项结算
     */
    SPECIAL_ITEM(5, "专项结算"),

    /**
     * 车辆结算
     */
    VEHICLE(6, "车辆结算"),

    /**
     * 费用结算
     */
    EXPENSE(7, "费用结算"),

    /**
     * 商城租赁结算
     */
    MALL_LEASE(8, "商城租赁结算"),

    /**
     * 货运
     */
    FREIGHT(9, "货运结算");

    private final Integer value;

    private final String desc;

}
